package com.ly.heart.domain;

import java.util.Date;
import java.util.List;

import com.baomidou.mybatisplus.annotation.IdType;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.baomidou.mybatisplus.annotation.TableName;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.ly.common.core.domain.BaseEntity;
import lombok.Data;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.ly.common.annotation.Excel;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;

/**
 * 差旅费报销单的行程单对象 erp_king_travel_trip
 *
 * @author wutao
 * @date 2024-08-23
 */
@TableName("erp_king_travel_trip")
@ApiModel(value = "erp_king_travel_trip对象", description = "差旅费报销单的行程单")
@Data
public class KingTravelTripEntity extends BaseEntity {
    private static final long serialVersionUID = 1L;

    /**
     * 差旅费行程单主键id
     */
    @TableId(type = IdType.INPUT)
    private String id;

    /**
     * 业务id
     */
    @ApiModelProperty("业务id")
    @TableField("business_id")
    @Excel(name = "业务id")
    private String businessId;

    /**
     * 关联的业务编码
     */
    @ApiModelProperty("关联的业务编码")
    @TableField("business_code")
    @Excel(name = "关联的业务编码")
    private String businessCode;

    /**
     * 出发地
     */
    @ApiModelProperty("出发地")
    @TableField("place_of_departure")
    @Excel(name = "出发地")
    private String placeOfDeparture;

    /**
     * 目的地
     */
    @ApiModelProperty("目的地")
    @TableField("destination")
    @Excel(name = "目的地")
    private String destination;

    /**
     * 行程开始时间
     */
    @ApiModelProperty("行程开始时间")
    @TableField("trip_start_time")
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "行程开始时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date tripStartTime;

    /**
     * 行程结束时间
     */
    @ApiModelProperty("行程结束时间")
    @TableField("trip_end_time")
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "行程结束时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date tripEndTime;

    /**
     * 交通工具
     */
    @ApiModelProperty("交通工具")
    @TableField("vehicle")
    @Excel(name = "交通工具")
    private String vehicle;

    /**
     * 费用项目
     */
    @ApiModelProperty("费用项目")
    @TableField("cost_items")
    @Excel(name = "费用项目")
    private String costItems;

    /**
     * 项目
     */
    @ApiModelProperty("项目")
    @TableField("project")
    @Excel(name = "项目")
    private String project;

    /**
     * 任务号
     */
    @ApiModelProperty("任务号")
    @TableField("task_num")
    @Excel(name = "任务号")
    private String taskNum;

    /**
     * 商机号
     */
    @ApiModelProperty("商机号")
    @TableField("business_num")
    @Excel(name = "商机号")
    private String businessNum;

    /**
     * 币别
     */
    @ApiModelProperty("币别")
    @TableField("currency")
    @Excel(name = "币别")
    private String currency;

    /**
     * 汇率
     */
    @ApiModelProperty("汇率")
    @TableField("rate")
    @Excel(name = "汇率")
    private String rate;

    /**
     * 是否再用(1有效2无效)
     */
    @ApiModelProperty("是否再用(1有效2无效)")
    @TableField("is_used")
    @Excel(name = "是否再用(1有效2无效)")
    private Long isUsed;

    @TableField ( exist = false )
    private List<KingTravelDetailEntity> tripDetailList;

}
